<
compiler> (Or "data frame", "
stack frame") A data structure
containing
the variables belonging to one particular
scope
(e.g. a procedure body), as well as links to other activation
records.
Activation records are usually created (on
the stack) on
entry to a block and destroyed on exit. If a procedure or
function may be returned as a result, stored in a variable and
used in an outer scope then its activation record must be
stored in a
heap so that its variables still exist when it
is used. Variables in
the current
scope are accessed via
the frame pointer which points to
the current activation
record. Variables in an outer scope are accessed by following
chains of links between activation records. There are two
kinds of link -
the static link and
the dynamic link.
(1995-03-07)